package com.gxy.learn.pay.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * 支付宝交易状态
 * @author Administrator
 */
@Getter
@AllArgsConstructor
public enum AliPayTradeStatusEnum {
    /**
     * WAIT_BUYER_PAY	交易创建，等待买家付款。
     * TRADE_CLOSED	未付款交易超时关闭，或支付完成后全额退款。
     * TRADE_SUCCESS	交易支付成功。
     * TRADE_FINISHED	交易结束，不可退款。
     */
    WAIT_BUYER_PAY("WAIT_BUYER_PAY", "交易创建，等待买家付款"),
    TRADE_CLOSED("TRADE_CLOSED", "未付款交易超时关闭，或支付完成后全额退款"),
    TRADE_SUCCESS("TRADE_SUCCESS", "交易支付成功"),
    TRADE_FINISHED("TRADE_FINISHED", "交易结束，不可退款");
    final String key;
    final String name;

    public String getName() {
        return name;
    }

    public String getKey() {
        return key;
    }
    public static Map<String,String> aliPayTradeStatusMap(){
        return Arrays.stream(AliPayTradeStatusEnum.values()).collect(Collectors.toMap(AliPayTradeStatusEnum::getKey, AliPayTradeStatusEnum::getName, (a, b) -> a));
    }
}
